The present disclosure refers to data communication applications and, in particular, to real-time communication of audio signals via packet-oriented networks.
In real-time communication via packet-oriented networks, like, for example, voice over IP (VoIP), normally it cannot be ensured that all packets will arrive at the receiver in the time needed. The reason for this is that, when data are transmitted in a packet-oriented manner, like, for example, via the Internet, different packets take different paths via the data network, and the paths taken via the data network which the different packets may take from the transmitter of the packets to the receiver of the packets depend on the current network situation.
Even if packets are sent in the order in which they were generated, the order of arrival at the receiver will differ with high probability. A packet which has found a favorable path may even “overtake” a packet which was sent at an earlier time but has taken a longer path from the transmitter to the receiver.
For applications which do not need real-time operation or for real-time applications where relatively great delays are allowed, this is not a problem since a receiver buffer will simply buffer until all the packets of a sequence of packets have arrived. Where a packet is positioned in a sequence may exemplarily be determined by a packet number or by a packet sequence indication at the packet and the receiver will then sort the packets in the correct order before reproducing them or passing them on.
However, the smaller this buffer is selected to be or the smaller the allowable delay a packet may have when being transmitted from the transmitter to the receiver is, the greater the packet failure rates will be. Packet losses will not only result when a packet has really been lost, but packet losses will also result when a packet has needed too long a time to get from the transmitter to the receiver. Another problematic situation is when a packet has experienced data corruption on its way from the transmitter to the receiver, i.e. really is faulty.
Such delay-critical applications are present in internet telephony (Voice over IP) where the delay requirements packets from the transmitter to the receiver have to meet are relatively strict in order for the call not to be interrupted. In particular when an audio encoder is arranged on the transmitter side and a decoder is arranged on the receiver and when there are no more data packets to be encoded at the receiver, the result may be a call interruption, namely when the decoder on the receiver side “crashes” due to the lack of data present.